- 11 minutes to read

Configuring the Nodinite Web Services Monitoring Agent

This guide provides instructions for configuring the Nodinite Web Service Monitoring Agent to monitor and validate your Web Services, Web Applications, and Certificates.

Remote Configuration

As a Nodinite Administrator, click on the 'Configuration' button to open a modal to configure the agent:
Remote Configuration
Click the 'Configuration' button to open a modal to configure the agent

You can perform many specific configurations directly on the Resource using the Action button if the Monitor View has the Remote Actions feature enabled.

You must be a Nodinite Administrator to Manage the collection of Web Services.

Note

To configure, you must first install the agent.

How do I add monitoring of Web Services and Web Applications with Nodinite?

Adding an arbitrary number of Web Services and Web Applications for Nodinite to monitor is a straightforward process and requires no changes to the existing solutions. Follow the steps detailed below.

The Remote Configuration for the Nodinite Web Service Monitoring Agent provides the ability to configure the agent remotely, even if you install the agent off-site. Many specific configurations can also be made directly on the Resource using the Action button if the Monitor View has the Remote Actions feature enabled.

Web Service Configurations

There can be any number of Web Services to monitor:
Web Services

click the Add button to add a Web Service configuration to monitor, or click on the accordion on an existing item:
Add Web Service Configuration
The Add button is at the bottom of the list of Web Service configurations.

The options are in logical groups, separated by the following tabs:

Tab Comment
Basic Basic settings for configuring one Web Service to monitor
Advanced Additional settings for timeouts and retries
Request What to do and where
Response Expected response
Evaluate response body Performs functional testing
Certificate Evaluates the certificate chain
Authentication Ways to authenticate
Settings General settings
Applications Associate the Monitored endpoint with the Nodinite Applications entity

Tabs
Here's an example of configuration tabs taken from the Remote Configuration screen for the Web Service Monitoring Agent

Basic Configuration

In the basic configuration, you provide the basic information to get you started with the configuration.

General tab

  • Enable Web Services monitoring - When checked, the Web Service is monitored
  • Display Name - A user-friendly name (mandatory)
  • Description - (optional) A description of the Web Service.
  • Application ID - (optional) Select one of the identities from the Applications tab. Set ApplicationId=0 to skip the use of an application name for the Web Service (Resource).

Advanced Configuration

From within the Advanced tab, you can manage some time-related thresholds.

  • Polling Interval - The polling interval in seconds. This setting governs how often the Monitoring Agent should perform the call (default 60 seconds).
  • Request Timeout - Maximum allowed time before timeout in seconds for the request (default 120 seconds).
  • Allow Retries - Option to control intermittent failures.
    • Number of retries - The number of Request retries before raising an Error.
    • Retry Status Code - OK or Warning - The evaluated status code while retrying the operation.

Advanced tab

Request

From within the Request tab, you can set the properties for the HTTP call to be made.

Request tab

  • URI - Address of HTTP/HTTPS endpoint to call.

    Tip

    You can use the Query Parameters options to override date time values. If so, do not add them in the base URI.

  • Method - The method used to call the web service most common are (GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE or CONNECT) from RFC 7231, but you may use others; Read more here.
  • SOAP (optional) - Check when the Web Service type is SOAP/WCF based.
  • Body (optional) - The payload to use in the request. Make sure to use an appropriate Method when adding a payload.

Query Parameters

New 6.2.0.1

If you want to specify the Query Parameters, click the Add button.
Add Query Parameter (6.2.0.1)

Next, expand the accordion and enter data in the input fields.
Query Parameter Example (6.2.0.1)

You can dynamically replace the Value if there is a date-time in the URI. When adding Query Parameters, ensure they are not part of the URI.

Note

You must reload the configuration page to review the generated URI.

  • Name - Name of the query parameter.
  • Value - Review the table below for examples.
  • Is Date Time - When checked, additional options must be set to generate the date time.
  • When checked, the generated time is UTC
  • Time Zone - Choose the Time Zone of the time to generate. You should not be bothered about DST (Daylight Saving Time).
  • Format - for example yyyy-MM-dd, please review this guide for additional examples.

You can use the table below to get an idea about valid expressions. The Value is relative English-written date times:

Value Comment
now Right now (date and time)
today This day at midnight
12:34:56 Today at the given time
-1 day Yesterday
last week
next week
last month
1 seconds One second later from Now
+3 weeks Today, three weeks later
3 days 1 hour ago
1 year 2 months 3 weeks 4 days 5 hours 6 minutes 7 seconds
2010-12-31
01/01/24 1:59 PM

Headers

  • Headers (optional) - Set 0 or more operating parameters of the HTTP transaction, read more here
    Request header

Note

As Headers may contain sensitive data, these are not fully on display in the Details.

Response

From within the Response Tab, you can set the properties governing the HTTP Response:

  • Expected Status Codes
  • The maximum time to trigger the Warning state
  • The maximum time to trigger the Error state

Response tab

  • Response Codes - List of Expected return status codes
    Response status codes

  • Warning - Set behaviour of when to flag Resource as being in state Warning

    • Use Warning Time - Determines whether to evaluate state based on settings or not

    • Warning Time - Maximum allowed Response time in milliseconds

    • Warning samples Count - Number of samples allowed above the threshold before raising a Warning alert

      Warning time threshold

  • Error - Set behaviour of when to flag Resource as being in state Error

    • Use Error Time - Determines whether to evaluate state based on settings or not

    • Error Time - Maximum allowed Response time in milliseconds

    • Error samples Count - Number of samples allowed above the threshold before raising an Error alert

      Error time threshold

Evaluate response body

Use the feature in the 'Evaluate response body' tab to evaluate the content of the response.
Evaluate response body tab

The following Expression Types can be used:

  • JSON Path

  • RegEx

  • RegEx Is Match

  • XPath
    Response body expression types

  • Expression - the Expression to use for the selected Expression Type

  • Expect no match - When this option is enabled, if the Expression Type is 'regex match' or 'regex', it will be successful when the regex does not match anything. If the Expression Type 'XPath' or 'JSON Path', it will be successful when the path is not present in the XML or JSON structure (Or, in JSON, if the value is null).

  • Expected Result - What result is expected

Logical Operator - Multiple conditions can be nested using AND/OR
Logical operator selection

Note

Even if there is only one Query Parameter in the list, you must still specify a Logical Operator. In this case, it is not being used.

RegEx

Use this option to validate if the response from your API, or content on a Web page has any match.

The RegEx use the following options:

  • IgnoreCase
  • IgnorePatternWhitespace

If you want to monitor a Web Application to see if there is a specific sentence (e.g "Hello World"), you must use a RegEx like the following example to get a match:

\b(Hello World)\b

RegEx Is Match

Use this option to validate whether the regular expression finds a match in the response from your API, or content on a Web page.

XPath

Use this option to validate the response from a SOAP based service returning XML.

JSON Path

Use this option to validate the response from any API returning JSON.

For example, to Monitor the Nodinite Audit Log, you can among other, use the following settings:

Field Value Comment
URI http://localhost/Nodinite/Dev/WebClient/api/LogAudits/NumberOfLogAudits?level=3
Name fromDate Query Parameters
Value today Query Parameters
Expression Collection.Items[0].Data.Count
Expected Result 0

Certificate

Certificates can be evaluated as part of the connection and functional evaluation. Check the Evaluate certificate checkbox and set your user-defined thresholds

Note

This step must be repeated for each endpoint where you want the Monitoring Agent to evaluate the certificate

  • Warning Days - Start to warn if the number of days left until the certificate expires is less than the Warning Days.
  • Error Days - Start to alert if the number of days left until the certificate expires is less than the Error Days.
  • Certificate is required - When checked, the call is required to use the certificate (HTTPS). If there is no certificate, the state evaluates it as an error.
  • Allow connection for invalid certificates - Allow the connection and continue with response evaluation even if the certificate is invalid.

Certificates tab

Authentication

Set the identity of the caller from the Authentication Tab. These settings apply when Nodinite performs the test of the configured Web Service/Web Application.

Authentication tab

Use Windows authentication

Check the Use Windows authentication checkbox to perform authentication using Windows credentials.

  • Domain User name - Enter the name of the domain and user (Format: DomainName\UserName)
  • Password - Enter the password for the 'Domain User Name'

Windows authentication

Use basic authentication

Check the Use basic authentication checkbox to perform authentication using basic authentication.

  • User name - Enter the name of the User
  • Password - Enter the password for the User

Basic authentication

Use OAuth2 authentication

Check the Use OAuth2 authentication checkbox to perform authentication using the OAuth2 scheme.

  • Client Id - The client id
  • Client Secret - The client secret for the client/application
  • Authorize URL - The authorization URL to receive an authorization code
  • Token URL - The token URL to redeem the authorization code for an access token
  • Scope - Add a scope to limit the access token. The data you enter is the value part of the 'scope=' parameter. Separate multiple scope entries with the space character New 6.0.0.1|

OAuth2 authentication OAuth2 options*

Use User name and token-based authentication

Check the Use User name with a token checkbox to perform authentication using the user name/password with a token scheme.

  • User name - Enter the name of the User
  • Password - Enter the password for the User
  • Token URL - The token URL to redeem the authorization code for an access token

Token

Use certificate authentication

Use the Use certificate authentication option to use a client certificate to authenticate with the Web Service. The following options exist:

Select store

File

The File store option provides a way to enter a path to a file-based certificate.

File store option

Store

The Store option provides a way to use a certificate installed in the Windows Certificate store.
Store Option

Raw input

The Raw input option provides a way to enter a certificate in its raw format.
Raw input

Settings

There are some general settings for the agent available in the Settings tab.

  • Environment
  • Debug
  • Culture Information - Select appropriate culture to format the output of date and time in your preferred format

Settings tab

Environment

Part of the standard features shared with all Monitoring Agents is an option to set the name of the target environment, for example, TEST, QA, PROD.

Debug

Part of the common features shared with all Monitoring Agents, there is an option to set the Debug flag for additional file logging that can be enabled/disabled as needed. The default is unchecked (disabled).

Culture Information

The Culture Information setting determines how time-based data from this agent is presented in the Web Client/Web API.


Applications

There can be any number of Applications and these can be used to identify and group Resources:
Applications tab

Read more about the concept of Applications within Nodinite here:


Save

You must click on the Save button to persist values and take effect:
Save and Close buttons

Note

The delay in presenting the new evaluated state depends on the synchronization interval set for the monitoring agent. Click the Sync Now button to force an immediate synchronization.

Save - Saves the current changes. The browser refreshes the content and stays on the current page.

Save and close - Saves the changes, then closes the dialogue returning the browser to the previous page.

Cancel, closes the dialogue without saving any changes.


Configure Web Services Monitoring Agent for first use

After the successful installation of the Nodinite Web Service Monitoring Agent, you must provide Nodinite with the connection details for the Monitoring Service to know there's a new guy in town.

No monitoring or other configuration of the Nodinite Web Service Monitoring Agent can be performed before the steps outlined below has been executed.

Configuration Steps

  1. Add and configure a new Monitoring Agent Configuration

Note

The Connection information is available in the README.txt file in the installation folder

  1. Use the Remote Configuration feature to configure the agent. Detailed at the beginning of this user guide.
  2. Create one or more self-service enabled Monitor Views that include the selected Resources provided by the Nodinite Web Service Monitoring Agent according to business needs.
  3. Fine-tune specific settings directly on Resources using Remote Actions.

Frequently asked questions

Additional solutions to common problems and the FAQ for the Nodinite Web Service Monitoring Agent exist in the Troubleshooting user guide.

Monitoring Web Services by example

The following user guides are good examples of Web Service Monitoring:


Next Step

Add or manage a Monitoring Agent Configuration
Add or manage Monitor View

Install Web Service Monitoring Agent
Monitoring Agents
Applications